
const formatTime = (time?: string): string => {

  let _time = time ? new Date(time) : new Date()

  const h = _time.getHours()
  const m = _time.getMinutes()
  const s = _time.getSeconds()
  return `${h}:${m}:${s}`
  // 
};

const res = formatTime() // 当前时分秒
const res2 = formatTime('2023-02-01 10:10:10') // 10:10:10


// 3. 定义数组内的元素类型
type ListItem = {
  count: number,
  time: string
}

// 需求：去掉所有的any
const KEY = "ts-demo-data";
const render = () => {

  // 1. 删掉any
  const str = localStorage.getItem(KEY);
  // 2. 修改报错
  // 4. 指定list为数组类型
  const list: ListItem[] = JSON.parse(str || '[]');

  // 新增一条访问记录
  const lastItem = list[list.length - 1];
  list.push({
    // 要求：🔔 conut拼错了，要求报错，改为count
    // 5.修复属性名错误问题
    count: lastItem ? lastItem.count + 1 : 1,
    time: formatTime(),
  });

  // 存入缓存
  localStorage.setItem(KEY, JSON.stringify(list));

  // 渲染到界面中
  // 6. 断言DIV类型
  const app = document.querySelector("#app") as HTMLDivElement;
  app.innerHTML = list
    .map((item) => `次数：${item.count}，时间：${item.time}`)
    .join("<br/>");
};

render();
